package demo.day09

// 内部类
/**
 * 内部类的特点 内部类能访问外部的类
 *            外部类能访问内部的类
 */
fun main() {
    Body("aaa").Heart().showBodyInfo()
}


class Body(_bodyInfo: String) {
    val bodyInfo = _bodyInfo
    // Body访问Heart信息
    fun show() {
        println(Heart().showBodyInfo())
    }

    // inner 内部类
    inner class Heart {
        fun showBodyInfo() = println("Heart访问Body信息$bodyInfo")
    }
    // 没有使用inner关键字修饰 是嵌套类
    /**
     * 嵌套类的特点：外部的类能访问内部的类
     *             内部的类不能访问外部的类
     */
//    class Heart {
//        fun showBodyInfo() = println("Heart访问Body信息$bodyInfo")
//    }
}